Electronic apparatus, method for controlling thereof, and method for controlling server

ABSTRACT

The disclosure relates to an artificial intelligence (AI) system that uses a machine learning algorithm and an application thereof. A method for controlling an electronic apparatus according to the disclosure includes receiving image data and information associated with a filter set that is applied to an artificial intelligence model for upscaling the image data from an external server; decoding the image data; upscaling the decoded image data using a first artificial intelligence model that is obtained based on the information associated with the filter set; and providing the up scaled image data for output.

CROSS-REFERENCE TO RELATED APPLICATION(S)

This application is based on and claims priority under 35 U.S.C. § 119to Korean Patent Application No. 10-2018-0093511, filed on Aug. 10,2018, in the Korean Intellectual Property Office, the disclosure ofwhich is incorporated by reference herein in its entirety.

BACKGROUND 1. Field

The disclosure relates to an electronic apparatus, a control method, anda control method of a server, and more particularly, to an electronicapparatus for improving an image streaming environment by transmittingand receiving a high-definition image, a control method, and a controlmethod of a server.

2. Description of Related Art

An artificial intelligence (AI) system is a system that trains itselfand which implements human-level intelligence. A recognition rate of theAI system increases with an increase in usage of the AI system.

AI technology includes machine learning (e.g., deep learning) techniquesusing algorithms that self-classify and self-train using features ofinput data, and element techniques that simulate functions ofrecognition, determination, etc. of a human brain by using machinelearning algorithms.

The element technology may include at least one of, for example,linguistic understanding for recognizing human language/characters,visual understanding for recognizing objects as if they are perceived bya human being, reasoning/prediction for determining information andlogically reasoning and predicting the information, knowledgerepresentation for processing experience information of a human being asknowledge data, motion control for controlling autonomous driving of avehicle, and movement of a robot, etc.

Particularly, a network state is a crucial factor for image quality of astreaming system for performing streaming by compressing and restoringan image adaptively. However, network resources are limited. Thus, it isdifficult for a user to use high-definition content unless a largeamount of resources is available.

In addition, video capacity is continuously increasing with theimprovement of image quality, but network bandwidth is not keeping upwith this increase. Accordingly, the importance of codec performance forsecuring image quality through the image compression and restorationprocesses is increasing.

SUMMARY

Provided are an electronic apparatus, a control method thereof, and acontrol method of a server, and more particularly, an electronicapparatus for upscaling a downscaled image by selecting an improvedfilter set among a plurality of filter sets, a control method thereof,and a control method of a server.

According to an embodiment, there is provided a method for controllingan electronic apparatus, the method includes receiving image data andinformation associated with a filter set that is applied to anartificial intelligence model for upscaling the image data from anexternal server, decoding the image data based on receiving the imagedata, upscaling the decoded image data using a first artificialintelligence model that is obtained based on the information associatedwith the filter set, and providing the upscaled image data for output.

The information associated with the filter set includes indexinformation of the filter set, and the upscaling includes obtaining thefirst artificial intelligence model to which one of a plurality oftrained filter sets stored in the electronic apparatus is applied basedon the index information, and upscaling the decoded image data byinputting the decoded image data into the obtained first artificialintelligence model.

The image data is obtained by encoding downscaled image data acquired byinputting original image data corresponding to the image data into asecond artificial intelligence model for downscaling original imagedata.

A number of filters of the first artificial intelligence model may besmaller than a number of filters of the second artificial intelligencemodel.

The information associated with the filter set is information obtainedby the external server, and identifies a filter set that minimizes adifference between the upscaled image data acquired by the firstartificial intelligence model and the original image data.

The first artificial intelligence model may be a Convolutional NeuralNetwork (CNN).

The providing may include displaying the upscaled image data.

According to an embodiment, there is provided a method that includesobtaining downscaled image data by inputting original image data into anartificial intelligence downscaling model for downscaling image data,obtaining a plurality of upscaled image data by respectively inputtingthe downscaled image data into a plurality of artificial intelligenceupscaling models to which respective filter sets, of a plurality offilter sets, trained for upscaling the downscaled image data areapplied, encoding the downscaled image data by adding informationassociated with a filter set of an artificial intelligence upscalingmodel that outputs upscaled image data having a minimum difference fromthe original image data among the plurality of upscaled image data; andtransmitting the encoded image data to an external electronic apparatus.

The method may further include training parameters of the plurality offilter sets to reduce a difference between the plurality of upscaledimage data and the original image data.

A number of filters of the artificial intelligence upscaling model maybe smaller than a number of filters of the artificial intelligencedownscaling model.

According to an embodiment, there is provided an electronic apparatus,including a communication interface including communication circuitry,and a processor that is configured to: receive image data andinformation associated with a filter set applied to an artificialintelligence model for upscaling the image data from an external servervia the communication interface, decode the received image data, upscalethe decoded image data using a first artificial intelligence model thatis obtained based on the information associated with the filter set, andprovide the upscaled image data for output.

The electronic apparatus may further include a memory. The informationassociated with the filter set includes index information of the filterset, and the processor is further configured to obtain the firstartificial intelligence model in which one of a plurality of trainedfilter sets stored in the memory is applied based on the indexinformation, and upscale the decoded image data by inputting the decodedimage data into the obtained first artificial intelligence model.

The image data may be obtained by encoding downscaled image dataacquired by inputting original image data corresponding to the imagedata into a second artificial intelligence model for downscalingoriginal image data.

A number of filters of the first artificial intelligence model may besmaller than a number of filters of the second artificial intelligencemodel.

The information on the filter set may be information obtained by theexternal server to reduce a difference between the upscaled image dataobtained by the first artificial intelligence model and the originalimage data.

The first artificial intelligence model may be a Convolutional NeuralNetwork (CNN).

The electronic apparatus may further include a display, and theprocessor is configured to provide the upscaled image data for output bycontrolling the display to display the upscaled image data.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other aspects, features, and advantages of certainembodiments of the present disclosure will be more apparent from thefollowing description taken in conjunction with the accompanyingdrawings, in which:

FIGS. 1 and 2 are diagrams of an image streaming system according to anembodiment;

FIG. 3 is a block diagram of an electronic apparatus according to anembodiment;

FIG. 4 is a block diagram of an electronic apparatus according to anembodiment;

FIG. 5 is a block diagram of a server according to an embodiment;

FIG. 6 is a flowchart of an image encoding operation of a serveraccording to an embodiment;

FIG. 7 is a flowchart of an image encoding operation of a serveraccording to an embodiment;

FIG. 8 is a diagram of a filter set according to an embodiment;

FIG. 9 is a block diagram of an electronic apparatus for training andusing an artificial intelligence model according to an embodiment;

FIG. 10 is a block diagram of a training unit and an acquisition unitaccording to an embodiment;

FIG. 11 is a diagram of a training method of a filter set according toan embodiment;

FIG. 12 is a diagram of a structure of streaming data according to anembodiment;

FIG. 13 is a diagram of a training method of a filter set according toan embodiment;

FIG. 14 is a flowchart of an image decoding operation of an electronicapparatus according to an embodiment;

FIGS. 15 and 16 are diagrams of an image decoding operation of anelectronic apparatus according to an embodiment; and

FIG. 17 is a diagram of an image upscaling operation of an electronicapparatus according to an embodiment.

DETAILED DESCRIPTION

The exemplary embodiments of the present disclosure may be diverselymodified. Accordingly, specific exemplary embodiments are illustrated inthe drawings and are described in detail in the detailed description.However, it is to be understood that the present disclosure is notlimited to a specific exemplary embodiment, but includes allmodifications, equivalents, and substitutions without departing from thescope and spirit of the present disclosure. Also, well-known functionsor constructions are not described in detail since they would obscurethe disclosure with unnecessary detail.

The terms used in this specification will be briefly described, and thedisclosure will be described in detail.

All the terms used in this specification including technical andscientific terms have the same meanings as would be generally understoodby those skilled in the art. However, these terms may vary depending onthe intentions of the person skilled in the art, legal or technicalinterpretation, and the emergence of new technologies. In addition, someterms are arbitrarily selected by the applicant. These terms may beconstrued in the meaning defined herein and, unless otherwise specified,may be construed on the basis of the entire content of this disclosureand technical knowledge in the art.

The present disclosure is not limited to an embodiment disclosed hereinand may be implemented in various forms, and the scope of the presentdisclosure is not limited to the following embodiments. In addition, allchanges or modifications derived from the meaning and scope of theclaims and their equivalents should be construed as being includedwithin the scope of the disclosure. In the following description, aconfiguration which is publicly known but irrelevant to the gist of thedisclosure could be omitted.

The terms such as “first,” “second,” etc. may be used to describe avariety of elements, but the elements should not be limited by theseterms. The terms are used to distinguish one element from otherelements.

A singular expression of a term also includes the plural meaning as longas it does not mean differently in the context of the term. In thisdisclosure, terms such as “include” and “have/has” should be construedas designating that there are such features, numbers, operations,elements, components or a combination thereof in the disclosure, and notto exclude the existence or possibility of adding one or more of otherfeatures, numbers, operations, elements, components or a combinationthereof.

In an embodiment, “a module,” “a unit,” or “a part,” or the like,perform at least one function or operation, and may be realized ashardware, such as a processor or integrated circuit, software that isexecuted by a processor, or a combination thereof. In addition, aplurality of “modules,” a plurality of “units,” a plurality of “parts,”or the like, may be integrated into at least one module or chip and maybe realized as at least one processor, except for “modules,” “units,” or“parts” that should be realized as specific hardware.

Hereinafter, embodiments of the disclosure will be described in detailwith reference to the accompanying drawings so that those skilled in theart can carry out the embodiments of the present disclosure. However,the disclosure may be embodied in many different forms and is notlimited to the embodiments described herein. In order to clearlyillustrate the disclosure in the drawings, some of the elements that arenot essential to the complete understanding of the disclosure areomitted for clarity, and like reference numerals refer to like elementsthroughout the specification.

Hereinafter, the disclosure will be described in greater detail withreference to the drawings.

FIG. 1 is a diagram of an image streaming system according to anembodiment.

Referring to FIG. 1, an image streaming system 1000 may include anelectronic apparatus 100 and a server 200.

The server 200 may generate encoded image data. The encoded image datamay be image data that is encoded after original image data isdownscaled by the server 200.

The server 200 may downscale original image data using an AI model fordownscaling image data. The server 200 may downscale image data on apixel basis, on a block basis, on a frame basis, or the like.

The server 200 may acquire a plurality of image data obtained byupscaling downscaled image data after applying a plurality of filtersets to an AI model for upscaling image data. The server 200 may upscalethe downscaled image data on a pixel basis, on a block basis, on a framebasis, or the like. A filter set may include a plurality of filtersapplied to an AI model. The number of filters applied to the AI modelfor upscaling may be smaller than the number of filters applied to an AImodel for downscaling. This is because the filter layer of theelectronic apparatus 100, which operates as a decoder, might not bedeeply formed due to the real-time nature of the decoder operation.

Each of the plurality of filters may include a plurality of parameters.That is, the filter set may be a collection of parameters for obtainingan AI model. The parameter may be referred to as a weight, acoefficient, etc.

The plurality of filter sets may be trained in advance and stored in theserver 200. The plurality of filter sets may provide an improvedcompression rate for obtaining an upscaled image having a minimumdifference from the original image data. The trained data may be aplurality of parameters applied to the downscaling AI model and aplurality of parameters to which the upscaling AI model is applied. Forexample, the plurality of filter sets may be trained based on the genreof the image data. The detailed description of an example embodimentwill be made in more detail with reference to FIG. 13.

The server 200 may identify a filter set for generating image datahaving a minimum difference from original image data among the pluralityof up scaled image data. An improved filter set may be identified foreach frame of image data.

The server 200 may transmit information associated with the encodedimage and the filter set to the electronic apparatus 100. Theinformation associated with the filter set may include index informationof the identified filter set. The index information of the filter setmay be used for distinguishing filter sets constituted by a plurality ofparameters. For example, when n filter sets such as filter 1, filter 2,. . . , filter n are stored in the electronic apparatus 100 and theserver 200, the values of 1, 2, . . . , and n may be defined as indexinformation.

The electronic apparatus 100 may decode the received image data, andperform upscaling. The received image data may be encoded data receivedfrom the server 200. The electronic apparatus 100 may perform upscalingof decoded image data by using an upscaling AI model.

The electronic apparatus 100 may store a plurality of filter sets forupscaling image data. The plurality of filter sets stored in theelectronic apparatus 100 may be the same as the plurality of filter setsstored in the server 200.

The electronic apparatus 100 may obtain an upscaled image by inputtingdecoded image data into an upscaling AI model obtained based on thefilter set included in the image data received from the server 200.Specifically, the electronic apparatus 100 may obtain the upscaling AImodel for upscaling by using a single filter set based on theinformation associated with the filter set received from the server 200among the plurality of filter sets stored in the electronic apparatus100.

The electronic apparatus 100 may provide upscaled image data for output.

When the electronic apparatus 100 is a display device including adisplay such as a personal computer (PC), a television (TV), a mobiledevice, etc., the electronic apparatus 100 may provide the upscaledimage data for display via the display of the electronic apparatus 100.

When the electronic apparatus 100 is an apparatus that does not includea display, such as a set-top box or a server, the electronic apparatus100 may provide the upscaled image data to an external device with adisplay, so that the external device may display the upscaled imagedata.

As described above, by way of identifying an improved upscaling filterset through a plurality of upscaling processes in advance in an encodingprocess by a server, a restoration process in an electronic apparatuscan be simplified. Therefore, a high compression rate may be achieved inan image streaming environment, and thus a high definition image can betransmitted in the image streaming environment.

FIG. 2 is a diagram of an image streaming system of FIG. 1.

Referring to FIG. 2, the server 200 may input original image data 21into an AI encoder 22. The original image data 21 may be an imagecontent source. For example, the size of the original image data 21 maybe 2N×2M.

The AI encoder 22 may receive the original image data 21 that is sized2N×2M, and obtain a compressed image 23 that is sized N×M. The AIencoder 22 may downscale the original image data 21 by using adownscaled AI model. The AI encoder 22 may obtain a plurality ofupscaled image data obtained by upscaling the compressed image 23 byusing an AI model to which each of the plurality of filter sets isapplied. The AI encoder 22 may identify a filter set used for generatingimage data that is most similar to the original image data 21 among theplurality of upscaled image data. An example embodiment of the filterset will be described in more detail with reference to FIG. 8.

The filter may be a mask with parameters and may be defined by a matrixof parameters. The filter may be referred to as windows or a kernel. Theparameter constituting a matrix in a filter may include 0 (e.g., a zerovalue), a zero element that can be approximated by 0, or a non-zeroelement having a constant value between 0 and 1, and may have variouspatterns depending on its function.

For example, when an AI model is embodied with a Convolutional NeuralNetwork (CNN) for recognizing an image, an electronic apparatus mayplace a filter with parameters on an input image, and determine a sum ofvalues obtained by multiplying respective parameters of the image andthe filter (a convolution calculation) as a pixel value of an outputimage to extract a feature value.

A plurality of feature values may be extracted through multiple filtersfor extracting a strong feature of the input image data, and a pluralityof feature values may be extracted depending on the number of filters.The convolutional image processing may be repeated by multiple layers asshown in FIG. 11, and each of the layers may include a plurality offilters. Meanwhile, filters to be trained may vary depending on thetraining object of the CNN, and the pattern of the filters to beselected may vary. For example, the filter to be trained or selected mayvary depending on whether the training object of the CNN is downscalingor upscaling of the input image, the genre to which the image belongs,etc.

The server 200 may perform an encoding process 24 by using informationassociated with the compressed image 23 that is sized N×M obtained fromthe AI encoder 22 and the filter set applied for improved upscaling.

The encoding process 24 may be a general encoding process. To bespecific, an image encoder may generate a bit stream by performing theencoding of the compressed image 23 that is sized N×M. The generated bitstream may be generated according to a streaming standard format by astreaming standard formatter. The process of generating a bit streamwill be described in more detail with reference to FIG. 13. Thegenerated and compressed bit stream may be stored in a streamingstorage.

The server 200 may transmit the stored streaming source 25 to theelectronic apparatus 100. The transmitted compressed bit stream mayinclude information associated with the encoded image data and thefilter set for improved upscaling.

The electronic apparatus 100 may obtain a compressed image 27 that issized N×M by performing a decoding process 26 using the receivedstreaming source 25. The obtained compressed image 27 that is sized N×Mmay correspond to the compressed image 23 that is sized N×M beforeencoding. The electronic apparatus 100 may obtain a bit stream byinputting the streaming source 25 to a streaming parser, and obtain thedecoded compressed image 27 that is sized N×M by inputting the obtainedbit stream into an image decoder.

The electronic apparatus 100 may perform upscaling by inputting thedecoded compressed image 27 that is sized N×M into an AI decoder 28. Theelectronic apparatus 100 may obtain an upscaling AI model for upscalingby applying one of the plurality of stored filter sets, and obtain anoriginal restoration image 29 that is sized 2N×2M by using the obtainedupscaling AI model. The electronic apparatus 100 may select one of theplurality of filter sets based on the information associated with thefilter set that is included in the received streaming source 25.

The electronic apparatus 100 may control a display 30 to display anoriginal restoration image 29. When a display is not provided in theelectronic apparatus 100, the electronic apparatus 100 may provide theoriginal restoration image 29 to an external display device to bedisplayed.

Meanwhile, the AI encoder 22, image encoder, and streaming standardformatting component are shown as separate components for convenience ofexplanation. However, in another embodiment, the foregoing componentsmay be implemented by a single processor. In the same manner, thestreaming parser, image decoder, and AI decoder 28 may also beimplemented by a single processor.

As described above, high quality image compression is possible bydownscaling and upscaling image data using an AI model, and thus ahigh-definition image can be transmitted.

FIG. 3 is a block diagram of an electronic apparatus according to anembodiment.

Referring to FIG. 3, an electronic apparatus 100 may include a wirelesscommunication interface 110 and a processor 120.

The wireless communication interface 110 may be configured to performcommunication with various types of external devices according tovarious types of communication methods. The electronic apparatus 100 mayperform communication with an external device using a wired or wirelesscommunication method. However, according to an embodiment, and for easeof explanation, in the case of a wireless communication method, it willbe described that communication is performed by the wirelesscommunication interface 110, and in the case of wired communication,communication is performed by a wired interface 140 as shown in FIG. 4.

The wireless communication interface 110 may receive image data from anexternal device using a wireless communication method such as wirelessfidelity (Wi-Fi), Bluetooth, Near Field Communication (NFC), etc.According to an embodiment, the electronic apparatus 100 may performimage processing by receiving an image selected by a user from among aplurality of images stored in the memory 130 provided in the electronicapparatus 100.

When the electronic apparatus 100 is configured to perform wirelesscommunication, the wireless communication interface 110 may include aWi-Fi chip, a Bluetooth chip, a wireless communication chip, an NFCchip, etc. The Wi-Fi chip or the Bluetooth chip may performcommunication using a Wi-Fi method, and a Bluetooth method,respectively. When the Wi-Fi chip or the Bluetooth chip is used, variousconnectivity information such as a service set identifier (SSID) and asession key may be first transmitted and received, communicationconnection may be established based on the connectivity information, andvarious information may be transmitted and received based thereon. Thewireless communication chip refers to a chip that performs communicationaccording to various communication standards such as an Institute ofElectrical and Electronics Engineers (IEEE) standard, ZigBee, ThirdGeneration (3G), Third Generation Partnership Project (3GPP), Long TermEvolution (LTE), Fifth Generation (5G), etc. The NFC chip refers to achip operating in an NFC mode using a 13.56 MHz band among variousradio-frequency identification (RFID) frequency bands such as 135 kHz,13.56 MHz, 433 MHz, 860 to 960 MHz, and 2.45 GHz.

The electronic apparatus 100 may receive image data and informationassociated with a filter set applied to the AI model for upscaling imagedata from an external server via the wireless communication interface110.

The image data that is received from an external server may be imagedata encoded by the external server. The encoded image data may beobtained by encoding downscaled image data obtained by inputtingoriginal image data into an AI model for downscaling.

The information associated with the filer set may be included with theimage data (e.g., as metadata). The information associated with thefilter set may be obtained from the external server in order to minimizea difference between the upscaled image data obtained by an AI model forupscaling image data and the original image data. The informationassociated with the filter set may be obtained for each frame of imagedata. The process of obtaining information associated with the filterset from the external sever will be described in more detail withreference to FIG. 7.

The processor 120 may control the overall operation of the electronicapparatus 100.

According to an embodiment, the processor 120 may be implemented as adigital signal processor (DSP), a microprocessor, or a time controller(TCON), but is not limited thereto. The processor 120 may include one ormore central processing units (CPUs), a microcontroller unit (MCU), amicro processing unit (MPU), a controller, an application processor(AP), a communication processor (CP), an Advanced RISC Machine (ARM)processor, or the like, or may be defined by the corresponding terms.The processor 120 may be implemented as a system on chip (SoC), a largescale integration (LSI) with a built-in processing algorithm, or in theform of a Field Programmable Gate Array (FPGA).

The processor 120 may decode image data received via the wirelesscommunication interface 110. The processor 120 may generate compressedimage data by decoding encoded image data received from the externalserver.

The processor 120 may upscale decoded image data by inputting thedecoded image data into the AI model for upscaling based on the receivedinformation associated with the filter set. The term “upscaling” mayalso be referred to as “compression release,” “image restoration,” etc.The processor 120 may apply the received information associated with thefilter set to obtain all or some of a plurality of filters constitutingan AI model. Obtaining some of a plurality of filters may mean that someof the plurality of filters constituting an AI model is default, andonly some of the remaining filters is obtained based on the receivedinformation of the filter set.

According to another embodiment, when a plurality of filter sets is notstored in the memory 130, the processor 120 may control the wirelesscommunication interface 110 to transmit the received informationassociated with the filter set to a second external server. Whenreceiving parameter information corresponding to a filter settransmitted from the second external server via the wirelesscommunication interface 110, the processor 120 may obtain an AI modelfor upscaling using the received parameter information, and upscaledecoded image data using the obtained AI model.

The processor 120 may provide upscaled image data for output. Theprocessor 120 may control the wireless communication interface 110 toprovide upscaled image data to an external display device. Referring toFIG. 4, when a display 150 is provided in the electronic apparatus 100,the processor 120 may control the display 150 to display upscaled imagedata.

As described above, an electronic apparatus 100 according to anembodiment may receive information associated with encoded image dataand an improved filter set from an external server, thereby reducingtime and resources consumed during restoration of the image data.Therefore, a high compression rate of an image can be realized, and ahigh-definition image can be compressed to image data of a smaller sizeand transmitted.

FIG. 4 is a block diagram of an electronic apparatus according to anembodiment.

Referring to FIG. 4, an electronic apparatus 100 may include a wirelesscommunication interface 110, a processor 120, a memory 130, a wiredinterface 140, a display 150, a video processor 160, an audio processor170, an audio output component 180, etc.

The wireless communication interface 110 and the processor 120 mayinclude the same configuration as those described in FIG. 3, and thusredundant description will be omitted.

The memory 130 may store various programs and data for the operation ofthe electronic apparatus 100. To be specific, at least one command maybe stored in the memory 130. The processor 120 may perform theoperations described herein by executing commands stored in the memory130. The memory 130 may be embodied with a non-volatile memory, avolatile memory, a flash-memory, a hard disk drive (HDD), a solid statedrive (SDD), or the like.

The trained AI model may be stored in the memory 130. The trained AImodel may include a plurality of layers for upscaling image data. Eachof the plurality of layers may include a plurality of filters. Each ofthe plurality of filters may include a plurality of parameters. Forexample, the trained AI model may be a convolutional neural network(CNN).

The plurality of filters each may be applied to an entire frame of imagedata. According to an embodiment, a filter that applies the sameparameter to each frame of image data may be used, but image data may beupscaled using a filter that applies a different parameter to eachframe.

A plurality of trained filter sets may be stored in the memory 130.Specifically, each filter set may include a plurality of parameters, andthe plurality of trained parameters may be stored in the memory 130. Theplurality of filter sets maybe distinguished based on individually givenindex information. The filter set stored in the memory 130 may betrained in advance so that upscaled image data that is most similar tooriginal image data after input image data is downscaled may beobtained. The input image data may be image data of various genres. Anexample embodiment of training a filter set will be described in moredetail with reference to FIG. 13.

The operation of an AI model according to an embodiment may be performedunder the control of the processor 120.

The processor 120 may obtain an AI model to which one of a plurality offilter sets stored in the memory 130 is applied based on indexinformation included in the received information associated with thefilter set. The processor 120 may upscale decoded image data byinputting decoded image data into an AI model to which a filter setcorresponding to the received index information is applied.

The processor 120 may perform various operations according to thepurpose of the AI model stored in the memory 130.

As an example, if an AI model relates to image recognition and/or visualcomprehension such as a technology for recognizing and processing anobject as if it was perceived by a human being, then the processor 120may perform object recognition, object tracking, image searching, humanrecognition, scene understanding, spatial understanding, imageenhancement, etc. of an input image using an AI model.

As another example, if an AI model relates to information recommendationand/or inference prediction such as a technology for judging andlogically inferring and predicting information, then the processor 120may perform knowledge/probability based reasoning, optimizationprediction, preference based planning, and recommendation using the AImodel.

As another example, if an AI model relates to query processing and/orknowledge representation such as a technology for automating humanexperience information into knowledge data, then the processor 120 mayperform knowledge building (e.g., data generation and classification)and knowledge management (data utilization) using the AI model.

As described above, by way of obtaining an AI model for upscaling imagedata based on the received information associated with the image dataand the filter set, and obtaining upscaled image data by inputtingdecoded image data into the obtained AI model, an improved restorationimage can be obtained even if a small amount of time and resources areused.

The wired interface 140 may be configured to connect the electronicapparatus 100 to an external device using a wired communication method.The wired interface 140 may input and output at least one of audiosignals and video signals via a wired communication method such as acable or a port.

The wired interface 140 may be a display port, a high definitionmultimedia interface (HDMI), a digital visual interface (DVI), a redgreen blue (RGB) interface, a D-subminiature (DSUB) interface, anS-Video interface, a Composite Video interface, universal serial bus(USB), Thunderbolt type ports, or the like.

The display 150 may display upscaled image data. The image displayed onthe display 150 may be upscaled by the trained AI model. According tothe purpose of the AI model, an object included in the image may bedisplayed on the display 150, and the types of objects may be displayed.

The display 150 may be implemented as various types of displays such asa light emitting diode (LED), a liquid crystal display (LCD), an organiclight emitting diode (OLED) display, a plasma display panel (PDP), orthe like. The display 150 may further include a driving circuit, whichmay be implemented in the form of an amorphous-silicon (a-Si) thin filmtransistor (TFT), a low temperature poly silicon (LTPS) TFT, an organicTFT (OTFT), etc., a backlight unit, or the like. Meanwhile, the display150 may be implemented as a flexible display.

The display 150 may include a touch sensor for detecting a touch gestureof a user. The touch sensor may be embodied as various types of sensorssuch as an electrostatic type, a pressure sensitive type, apiezoelectric type, etc. When the image processing apparatus 100supports a pen input function, the display 150 may detect a user gestureusing an input means such as a pen as well as a user's finger. When theinput means is a stylus pen including a coil therein, the imageprocessing apparatus 100 may include a magnetic field sensor capable ofsensing magnetic field changed by the coil in the stylus pen.Accordingly, the display 150 may detect an approximate gesture, i.e.,hovering as well as a touch gesture.

Although the display function and the gesture detection function havebeen described as being performed in the same configuration as describedabove, the functions may be performed in different configurations.According to various embodiments, the display 150 may not be included inthe electronic apparatus 100. For example, when the electronic apparatus100 is a set-top box, or a server, the display 150 may not be provided.In this case, upscaled image data may be transmitted to an externaldisplay device via the wireless communication interface 110 or the wiredinterface 140.

The processor 120 may include a random access memory (RAM) 121, aread-only memory (ROM) 122, a CPU 123, a Graphic Processing Unit (GPU)124, and a bus 125. The RAM 121, the ROM 122, the CPU 123, the GraphicProcessing Unit (GPU) 124, and the like may be connected to one anothervia the bus 125.

The CPU 123 may access the memory 130 and perform booting by using anoperating system (O/S) stored in the memory 130. The CPU 123 may performvarious operations by using various programs, content, data, etc. storedin the memory 130.

A command set, etc. for system booting may be stored in the ROM 122.When a turn-on command is input and power is supplied, the CPU 123 maycopy the O/S stored in the memory 130 to the RAM 121 according to thecommand stored in the ROM 122, execute the O/S, and perform systembooting. When the system booting is completed, the CPU 123 may copy thevarious programs stored in the memory 130 to the RAM 121, execute thevarious programs copied to the RAM 121, and perform various operations.

When the booting of the electronic apparatus 100 is completed, the GPU124 may display a user interface (UI) on the display 150. For example,the GPU 124 may generate a screen including various objects such asicons, images, texts, etc. by using a calculation unit (not shown) and arendering unit (not shown). The calculation unit may calculate attributevalues such as coordinate values, shapes, sizes, colors, etc. of theobjects according to the layout of the screen. The rendering unit maygenerate screens of various layouts including objects based on theattribute values calculated by the calculation unit. The screen (or a UIwindow) generated by the rendering unit may be provided to the display150, and displayed in a main display area and a sub-display area.

The video processor 160 may be configured to process content receivedvia the wireless communication interface 110 or the wired interface 140,or video data included in the content stored in the memory 130. Thevideo processor 160 may perform various image processing such asdecoding, scaling, noise filtering, frame rate conversion, resolutionconversion, etc. of video data.

The audio processor 170 may be configured to process content receivedvia the wireless communication interface 110 or the wired interface 140,or audio data include in the content stored in the memory 130. The audioprocessor 170 may perform various processing such as decoding,amplification, noise filtering, etc. of audio data.

When a reproduction application with respect to multimedia content isexecuted, the processor 120 may drive the video processor 160 and theaudio processor 170 to reproduce content. The display 150 may displaythe image frame generated by the video processor 160 on at least one ofa main-display area and a sub-display area.

As described above, the processor 120, the video processor 160, and theaudio processor 170 are described as separate components. However,according to an embodiment, the foregoing components are embodied as asingle chip. For example, the processor 120 may function as the videoprocessor 160 and the audio processor 170.

The audio output component 180 may output audio data generated by theaudio processor 170.

Although not shown in FIG. 4, according to an embodiment, the electronicapparatus 100 may further include various external input ports forconnecting with various external terminals or peripherals such as aheadset, a mouse, etc., a digital multimedia broadcasting (DMB) chip forreceiving and processing a DMB signal, buttons for receiving user'soperation, a microphone for receiving voices or sounds of a user to beconverted into audio data, a capturing unit (e.g., a camera) forcapturing a still image or a video according to the control of a user,various sensors, etc.

FIG. 5 is a block diagram of a server according to an embodiment.

Referring to FIG. 5, a server 200 may include a communication interface210, a memory 220, and a processor 230.

The communication interface 210 may perform communication with anexternal device using a wired or a wireless communication method.

The communication interface 210 may be connected to an external devicein a wireless manner such as wireless local-area network (LAN),Bluetooth, etc. The communication interface 210 may be connected to anexternal device using Wi-Fi, ZigBee, Infrared ray (IrDA), or the like.The communication interface 210 may include a connection port of a wiredcommunication method.

The server 200 may transmit encoded image data to an electronicapparatus 100 via the communication interface 210. The image datatransmitted to the electronic apparatus 100 may include informationassociated with a filter set for improved image restoration. Theinformation associated with the filter set may be obtained by theprocessor 230.

The memory 220 may store various programs and data for the operation ofthe server 200. At least one command may be stored in the memory 220.The processor 230 may perform the above-described operations byexecuting the command stored in the memory 220.

The memory 220 may store the trained AI model. To be specific, thetrained AI model for downscaling image data may include a plurality oflayers for downscaling. Each of the plurality of layers may include aplurality of filters. Each of the plurality of filters may include aplurality of parameters.

The trained AI model for upscaling image data may be stored in thememory 220. The trained AI model for upscaling image data may include aplurality of layers for upscaling. Each of the plurality of layers mayinclude a plurality of filters. Each of the plurality of filters mayinclude a plurality of parameters.

An AI model used for downscaling or upscaling may be a CNN. The numberof AI models for upscaling may be smaller than the number of artificialintelligence models for downscaling.

Each of the plurality of filters may be applied to an entire frame ofimage data. To be specific, according to an embodiment, a filter thatapplies the same parameter to each frame of image data may be used, buta filter that applies a different parameter to each frame may be usedfor upscaling image data.

The memory 220 may store a plurality of trained filter sets. Theplurality of filter sets stored in the memory 220 may include a filterset applied to an AI model for upscaling image data. To be specific, afilter set may include a plurality of parameters, and the memory 220 mayinclude a plurality of trained parameters. The plurality of filter setsmay be distinguished based on individually given index information. Thefilter sets stored in the memory 220 may be trained in advance tominimize a difference between upscaled image data and original imagedata after input image data is downscaled. In this case, a generalsimilarity analysis method (e.g., peak signal to noise ratio (PSNR),structural similarity (SSIM), etc.) may be used to identify a differencebetween upscaled image data and original image data. The input imagedata may be image data for various genres. An example embodiment of afilter set will be described in more detail with reference to FIG. 13.

The operation of an artificial intelligence model may be performed underthe control of the processor 230.

The processor 230 may obtain a plurality of upscaled image data byinputting downscaled image data into an AI model to which each of aplurality of filter sets is applied. The processor 230 may obtain theplurality of upsclaed image data by acquiring a plurality of AI modelssimultaneously. The processor 230 may obtain one upscaled image data byusing an AI model to which one of the plurality of filter sets isapplied, and then obtain upscaled image data by changing the appliedfilter set sequentially.

The processor 230 may identify upscaled image data having a minimumdifference (e.g., least loss) compared to original image data among theplurality of obtained upscaled image data. The processor 230 may use ageneral similarity analysis method (e.g., PSNR, SSIM, etc.) to comparethe original image data and the obtained upscaled image data.

The processor 230 may encode a downscaled image by including informationassociated with the filter set applied to the identified image data(e.g., as metadata). The information associated with the filter set maybe index information of the filter set. The processor 230 may includeinformation associated with the filter set in supplemental enhancementinformation (SEI) data attached to the bit stream generated by encodingthe downscaled image. The SEI data may provide information associatedwith a resolution, a bit rate, a frame rate, etc., of image data.

The processor 230 may transmit encoded image data to an externalelectronic apparatus via the communication interface 210. Theinformation associated with the filter set for improved imagerestoration may be included with the transmitted image data.

As described above, by way of identifying an improved upscaling filterset through a plurality upscaling processes in advance in an encodingprocess by a server, a restoration process in an electronic apparatuscan be simplified. Therefore, a high compression rate may be achieved inan image streaming environment, and thus a high definition image can betransmitted.

FIG. 6 is a flowchart of an image encoding operation of a serveraccording to an embodiment.

Referring to FIG. 6, a server may obtain downscaled image data byinputting original image data into an artificial intelligencedownscaling model for downscaling image data at operation S610. Thecompression rate of downscaling may be set in advance. For example,referring to FIG. 2, an image that is sized 2N×2M may be compressedusing a compression rate of ¼ to be downscaled to an image that is sizedN×M. However, a compression rate is not limited thereto.

The server may obtain a plurality of upscaled image data by inputtingdownscaled image data into a plurality of artificial intelligenceupscaling models to which each of a plurality of filter sets trained forupscaling downscaled image data is applied at operation S620.

The plurality of filter sets may be trained in advance for upscalingimage data, and stored in a server. In addition, a filter set that isthe same as a filter set of the plurality of filter sets stored in theserver may be stored in an external electronic apparatus.

The server may obtain a plurality of upscaled image data using aplurality of AI upscaling models to which each of a plurality of filtersets is applied. In addition, a plurality of upscaled image data may beobtained sequentially such as one upscaled image data that is obtainedusing an AI upscaling model to which one of a plurality of filter setsis applied, and then another upscaled image data is obtained by changinga filter set applied to an AI upscaling model.

The server may encode downscaled image data by adding informationassociated with the filter set of the artificial intelligence upscalingmodel that outputs image data having a minimum difference from originalimage data among the plurality of upscaled image data at operation S630.

To be specific, the server may compare each of the plurality of upscaledimage data with original image data using a similarity analysis method,and identify upscaled image data having a minimum difference as comparedto the original image data (e.g., a least loss value, or the like). Theserver may identify information associated with a filter set applied toan AI upscaling model that outputs the identified upscaled image data.The server may encode the downscaled image data by adding informationassociated with the identified information of the filter set. Theinformation associated the filter set may be included in SEIinformation, and may include index information of the filter set. Theencoded image data may be obtained by encoding downscaled image data ofwhich a size is compressed, and the encoded image data might be smallerin size than as compared to the original image data.

The server may transmit the encoded image data to an external electronicapparatus at operation S640. The server may transmit encoded image datato which information associated with the filter set is included to theexternal electronic apparatus, and perform decoding and upscaling usingan improved filter set. Therefore, a high-quality image may betransmitted in a streaming environment.

FIG. 7 is a flowchart of an image encoding operation of a serveraccording to an embodiment. Operations 710 through 740 of FIG. 7 maycorrespond to operations of the AI encoder 22 as described inassociation with FIG. 2. However, for ease of explanation, it will bedescribed as the operation of the server.

Referring to FIG. 7, the server may input an image content source 71 toan AI downscaling model at operation S710. For example, the imagecontent source 71 may be original image data having a size of 2N×2M. TheAI downscaling model may include a plurality of convolutional filters,and the training might have already been completed.

The server may obtain a downscaled image 72 by allowing the imagecontent source 71 to pass through the AI downscaling model. Thedownscaled image 72 may have a size of N×M, which is ¼ the size of theoriginal image content source 71. The size of the image may correspondto a resolution. However, a compression rate of ¼ is exemplary, and animproved compression rate may be obtained by training.

For example, the AI downscaling model may obtain a feature map byallowing the input image content source 71 to pass through aconvolutional layer for each frame, and obtain a compressed image byallowing the obtained feature map to pass through a pooling layer. Thepooling layer may divide the input feature map into a predeterminedgrid, and output a feature map that compiles representative valuesobtained for respective grids. The size of the feature map output fromthe pooling layer may be smaller than the size of the feature map inputto the pooling layer. The representative value for each grid may be amaximum value included in each grid, or an average value for each grid.

The AI downscaling model may compress an image by repeating operationsof the convolutional layer and the pooling layer. As the numbers ofconvolutional layers and pooling layers increase, a compression rate mayincrease. As the size of the grid that obtains a representative valuefrom the pooling layer increases, the compression rate may increase.

The server may transmit a raw video data of N×M size that is downscaledby a compression rate of ¼, and an AI flag 73 to a standard encoder atoperation S750. The raw video image of N×M size that is downscaled by acompression rate of ¼ may be the same as a downscaled image 72. The AIflag 73 may indicate whether AI downscaling is performed. If the AI flagis set to a value of 1, the AI flag 73 may denote that AI downscaling isperformed.

The server may determine whether a multi-AI filter option is used atoperation S720. If the server determines that the multi-AI filter optionis not used at operation S720 (e.g., S720—N), then the server maytransmit a value of filter index=NULL, which means no filter index wasused, to the standard encoder at operation S750.

When the server determines that the multi-AI filter option is used atoperation S720 (e.g., S720—Y), then the server may input a downscaledimage into a plurality of stored AI upscaling models at operation S730.The plurality of AI upscaling models may be obtained by applying each ofa plurality of filter sets to an AI model. To be specific, each of theplurality of filter sets may include a plurality of layers as shown inFIG. 8 and FIG. 17. Each layer may be a convolutional filter, andtraining may have been completed already.

For ease of explanation, FIG. 7 illustrates the use of n AI upscalingmodels to which filter sets having indices of 0, 1, 2, and n areapplied, but in other embodiments, the number of AI upscaling models andindex information may be different. A higher compression rate may beachieved by restoring a multi-AI filter function in advance.

The server may select a filter index of an AI model that outputs anupscaled image with a minimum difference as compared to the imagecontent source at operation S740. To be specific, the server may inputthe downscaled image 72 obtained from the AI downscaling model into eachAI upscaling model at operation S730, and obtain an upscaled image fromeach AI upscaling model at operation S730.

The server may compare the respective upscaled images obtained from eachAI upscaling model with the image content source 71, which is anoriginal image, and identify an AI upscaling model that outputs anupscaled image with a minimum difference as compared to the originalimage content source (e.g., an upscaled image with least loss). Theserver may transmit index information 74 of the AI upscaling model thatoutputs the upscaled image with the minimum difference as compared tothe original image to the standard encoder at operation S750.

The server may perform encoding by using the transmitted raw video dataof N×M size that is downscaled by ¼, the AI flag 73, and filter indexinformation 74. The server may obtain a bit stream by encoding imagedata, and include information in an SEI header.

The server may transmit the bit stream obtained through an encodingoperation and the information 75 included in the SEI header to theelectronic apparatus 100.

FIG. 8 is a diagram of a filter set according to an embodiment.

Referring to FIG. 8, each of a plurality of filter sets may include aplurality of layers. The plurality of filer sets may be stored in thesever and the electronic apparatus in the same manner.

For example, a filter set 810 may include n layers 811, 812, . . . , and81 n. Each of the plurality of layers may include a plurality ofconvolutional filters. Each convolutional filter may be athree-dimensional convolutional filter of width N×height M×channel C(e.g., N×M×C), and active functions bias 1, 2, . . . , and n may beincluded between filters.

For ease of explanation, FIG. 8 illustrates that filters of a pluralityof layers are defined by N×M×C, but in other embodiments, each layer mayhave a different filter size (N×M), and channel (C). In addition, eachfilter set may have a different number of layers.

FIG. 9 is a block diagram of an electronic apparatus for training andusing an artificial intelligence model according to an embodiment.

Referring to FIG. 9, a processor 900 may include at least one of atraining unit 910, an acquisition unit 920. The processor 900 of FIG. 9may correspond to the processor 120 of FIG. 3 and the processor 230 ofFIG. 5.

The training unit 910 may generate or train a model for generating adownscaling filter and an upscaling filter. The training unit 910 maygenerate an AI model for generating a downscaling filter and anupscaling filter of image data using the collected training data. Thetraining unit 910 may generate a trained model having criteria forgenerating a downscaling filter and an upscaling filter of image datausing the collected training data. The training unit 910 may correspondto a training set of an AI model.

For example, the training unit 910 may generate, train, or update amodel for predicting the generation of the filter by using originalimage data and image data obtained by downscaling and upscaling originalimage data as input data. To be specific, if the purpose of the model isimage quality enhancement, then the training unit 910 may generate,train, or update a model for generating a filter for downscaling orupscaling original image data and image data obtained by downscaling andupscaling original image data.

The acquisition unit 920 may obtain various information by usingpredetermined data as input data of a trained model.

For example, the acquisition unit 920 may obtain (or recognize,estimate, and infer) information associated with an input image usingthe input image and the trained filter when an image is input.

At least part of the training unit 910 and at least part of theacquisition unit 920 may be embodied as a software module andmanufactured in the form of one or a plurality of hardware chips to bemounted on the electronic apparatus 100. For example, at least one ofthe training unit 910 and the acquisition unit 920 may be manufacturedin the form of a hardware chip for AI specific operation, ormanufactured as a part of an existing general processor (e.g. a CPU oran application processor) or a graphic processor (e.g., a GPU) to bemounted on the electronic apparatuses in a variety of types. Thehardware chip for AI specific operation may be a processor specializedfor probability computation having a higher parallel processingperformance than a conventional general processor, thereby quicklyperforming an arithmetic operation in the AI field such as machinelearning. When the training unit 910 and the acquisition unit 920 areimplemented as a software module (or a program module including aninstruction), the software module may be a non-transitory computerreadable medium. In this case, the software module may be provided by anoperating system (OS) or by a predetermined application. Alternatively,some of the software modules may be provided by an OS, and some of thesoftware modules may be provided by a predetermined application.

The training unit 910 and the acquisition unit 920 may be mounted on asingle electronic apparatus such as a server, or each may be mounted onseparate electronic apparatuses. For example, one of the training unit910 and the acquisition unit 920 may be included in an electronicapparatus such as a TV, and the other one may be included in an externalserver. The training unit 910 and the acquisition unit 920 may providemodel information established by the training unit 910 to theacquisition unit 920 in a wired or wireless manner, or data input intothe training unit 910 may be provided to the training unit 910 asadditional training data.

FIG. 10 is a block diagram of a training unit and an acquisition unitaccording to an embodiment.

Referring to FIG. 10(a), the training unit 910 according to anembodiment may include a training data acquisition unit 910-1 and amodel training unit 910-4. The training unit 910 may optionally furtherinclude a training data pre-processor 910-2, a training data selector910-3, and a model evaluation unit 910-5.

The training data acquisition unit 910-1 may obtain training data for amodel. According to an embodiment, the training data acquisition unit910-1 may obtain data associated with an input image as training data.To be specific, the training data acquisition unit 910-1 may obtaindownscaled original image data and original image data which are inputimages, and then obtain upscaled image data as training data.

The model training unit 910-4 may train how to modify the differencebetween the image processing result obtained by using training data andinformation associated with an actual input image. For example, themodel training unit 910-4 may train an AI model through supervisedlearning that uses at least part of training data as criteria. The modeltraining unit 910-4 may train an AI model through unsupervised learningby training itself using training data without any guidance. The modeltraining unit 910-4 may train the AI model through reinforcementlearning using feedback as to whether the result of the determinationbased on the training is correct. The model training unit 910-4 may alsotrain the AI model using, for example, a learning algorithm including anerror back-propagation method or a gradient descent.

When an AI model is trained, the model training unit 910-4 may store thetrained AI model. In this case, the model training unit 910-4 may storethe trained AI model in a server (e.g., an artificial intelligenceserver). The model training unit 910-4 may store the trained AI model ina memory of an electronic apparatus connected via a wired or wirelessnetwork.

The training data pre-processor 910-2 may pre-process the obtained dataso that the obtained data may be used for training for the generating ofthe filter to be applied to a plurality of feature maps. The trainingdata pre-processor 910-2 may format the obtained data in a predeterminedformat so that the model training unit 910-4 may use the obtained datafor training for the generation of the filter to be applied to thefeature map.

The training data selector 910-3 may select data for training betweendata obtained from the training data acquisition unit 910-1 or datapre-processed by the training data pre-processor 910-2. The selectedtraining data may be provided to the model training unit 910-4.According to predetermined selection criteria, the training dataselector 910-3 may select training data for training among obtained orpre-processed data. The training data selector 910-3 may select trainingdata according to predetermined criteria by the training of the modeltraining unit 910-4.

The training unit 910 may further include the model evaluation unit910-5 for improving the recognition result of the AI model.

The model evaluation unit 910-5 may input evaluation data into an AImodel, and if a recognition result output from evaluation data fails tomeet predetermined criteria, allow the model training unit 910-4 totrain. In this case, evaluation data may be pre-defined data forevaluating an AI model.

For example, if the number or ratio of evaluation data with an incorrectrecognition result exceeds a predetermined threshold value, amongrecognition results of an AI model trained with respect to evaluationdata, the model evaluation unit 910-5 may evaluate that the recognitionresult fails to satisfy predetermined criteria.

When there exist a plurality of trained AI models, the model evaluationunit 910-5 may evaluate whether each trained AI model satisfiespredetermined criteria, and identify an AI model that satisfiespredetermined criteria as a final AI model. In this case, when multipleAI models satisfy the predetermined criteria, the model evaluation unit910-5 may identify a predetermined any one or a number of models set inadvance in descending order of evaluation scores as a final AI model.

Referring to FIG. 10(b), an acquisition unit 920 may include an inputdata acquisition unit 920-1 and a provider 920-4.

The acquisition unit 920 may selectively further include an input datapre-processor 920-2, an input data selector 920-3, and a model updatingunit 920-5.

The input data acquisition unit 920-1 may obtain input original imagedata, and obtain a plurality of filters according to the purpose ofimage processing. The plurality of filters may be a plurality of filtersfor downscaling image data and a plurality of filters for upscalingdownscaled image data. The provider 920-4 may obtain a result ofprocessing an input image by applying input data obtained from the inputdata acquisition unit 920-1 to the trained AI model as an input value.The provider 920-4 may obtain a result of processing an input image byapplying data selected by the input data pre-processor 920-2 or theinput data selector 920-3 to an AI model as an input value.

For example, the provider 920-4 may obtain (or estimate) a result ofprocessing an input image by applying input original image data obtainedfrom the input data acquisition unit 920-1, a filter for downscalingoriginal image data, and a filter for upscaling downscaled image data toa trained AI model.

The acquisition unit 920 may further include the input datapre-processor 920-2 and the input data selector 920-3 for improving arecognition result of an AI model, or saving resources or time forproviding a recognition result.

The input data pre-processor 920-2 may pre-process the obtained data sothat the data obtained to be input into first and second AI models maybe used. The input data pre-processor 920-2 may format obtained data ina pre-defined format so that the provider 920-4 may use the obtaineddata for obtaining an improved compression rate.

The input data selector 920-3 may select data for state determinationbetween data obtained from the input data acquisition unit 920-1 anddata pre-processed by the input data pre-processor 920-2. The selecteddata may be provided to the provider 920-4. The input data selector920-3 may select a part or all of obtained or pre-processed dataaccording to predetermined criteria for state determination. The inputdata selector 920-3 may select data according to predetermined criteriaby the training of the model training unit 910-4.

The model updating unit 920-5 may control an AI model to be updatedbased on the evaluation of the recognition result provided by theprovider 920-4. For example, the model updating unit 920-5 may providethe image processing result provided by the provider 920-4 to the modeltraining unit 910-4 to request the model training unit 910-4 toadditionally train or update an AI model.

FIG. 11 is a diagram of a training method of a filter set according toan embodiment.

According to an embodiment, a CNN-based model may includethree-dimensional convolutional filters of width×height×channel, and alayer of an active function.

A parameter of a convolutional filter may be an object for training andan improved parameter suitable for a purpose may be obtained throughtraining. An AI downscaling model and an AI upscaling model are aimed atproviding an improved compression rate so that image data obtained bydownscaling and upscaling original image data is to the most similar tothe original image data.

The training may be performed by a server or an electronic apparatus,and for ease of explanation, it will be described that a server performsthe training.

Referring to FIG. 11, according to a training method of the disclosure,the server may obtain compressed image data 1130 by downscaling originalimage data 1110 using X convolution filters 1120. FIG. 11 illustratesthat original image data that is sized 2N×2M is downscaled to compressedimage data that is sized N×M, but the disclosure is not limited thereto.

The server may obtain restoration image data 1150 by upscaling theobtained compressed image data 1130 using Y convention filters 1140. Thenumber “Y” could be smaller than the number “X.”

The server may compare the restoration image data 1150 with the originalimage data 1110 and train a parameter of each of filters 1120 and 1140to reduce loss. The server may calculate a loss value using a similarityanalysis method (e.g., PSNR, SSIM, etc.).

The AI downscaling model and an AI upscaling model to which a trainedparameter is applied may compress or restore image data through animproved scaling operation.

FIG. 12 is a diagram of a structure of streaming data according to anembodiment. FIG. 12 illustrates a detailed example embodiment in whichinformation associated with the filter set is stored during the encodingoperation 24 of FIG. 2.

Referring to FIG. 12, raw video data downscaled by ¼, an AI flag, andfilter index information 1201 may be input into a standard encoder 1202.The server may obtain a video stream 1204 by encoding input raw videodata downscaled by ¼. The video stream may refer to a video bit stream.

The server may include the input AI flag and the filter indexinformation 1203 in SEI information 1205 included in the video stream1204. The server may divide the video stream 1204 into N video chunks1206, and copy the SEI information 1205 to generate N SEI information1207.

The server may add the generated SEI information to each video chunk,and store a plurality of video chunks 1208 to which SEI information isindividually added in a streaming storage 1209.

Although not shown, the plurality of stored video chunks 1208 may betransmitted to the electronic apparatus.

FIG. 13 is a diagram of a training method of a filter set according toan embodiment.

Referring to FIG. 13, each of a plurality of filter sets may be trainedwith image data of a different genre. To be specific, a first filter set(filter 1) may be trained with all images of a training data set fortraining (a global data set).

In addition, each filter set may be trained with image data of a singlegenre such as film, sports, music videos, documentaries, news, etc. of atraining data set.

As described above, when each filter set completes training based on thegenre of image data, a filter set may be selected based on the genre ofthe input original image data.

However, the disclosure is not limited thereto. An improved filter setmay be selected after applying a plurality of filter sets regardless ofthe genre of the input original image data.

FIG. 13 describes training each filter set using a training data setclassified based on the genre of image data. However, the disclosure isnot limited thereto, and the training data set may be classifiedaccording to various criteria.

FIG. 14 is a flowchart of an image decoding operation of an electronicapparatus according to an embodiment.

Referring to FIG. 14, an electronic apparatus may receive informationassociated with image data and a filter set applied to an artificialintelligence model for upscaling image data at operation S1410. Theinformation associated with the filter set may be included with theimage data. The electronic apparatus may receive information associatedwith the image data and the filter set from an external server.

The electronic apparatus may decode the received image data at operationS1420. The received image data may be image data encoded by a server,and the encoded image data may be obtained by encoding the downscaledoriginal image data.

The electronic apparatus may upscale decoded image data by inputtingdecoded image data into the first artificial intelligence model obtainedbased on the information associated with the filter set at operationS1430. A plurality of filter sets may be pre-stored in the electronicapparatus. The electronic apparatus may obtain the first intelligencemodel for upscaling image data by using a filter set corresponding tothe received information from among a plurality of filter sets. Theelectronic apparatus may upscale the decoded image data using theobtained first AI model.

When a plurality of filter sets are not stored in an electronicapparatus, the electronic apparatus may transmit the receivedinformation associated with the filter set to a second external server.The second external server may store parameter information associatedwith a plurality of filter sets. The second external server may be thesame as or different from an external server that transmits image datato an electronic apparatus.

When receiving parameter information of the filter set corresponding tothe transmitted information from the second external server, theelectronic apparatus may obtain the first AI model by applying thereceived parameter information.

The electronic apparatus may output the upscaled image data at operationS1440. To be specific, if the electronic apparatus is a display devicewith a display, the electronic apparatus may control the display todisplay the upscaled image data. If the electronic apparatus is anapparatus without a display, then the electronic apparatus may transmitthe upscaled image data to the external display device to be displayed.In other words, the electronic apparatus may provide the upscaled imagedata for output via a display of the electronic apparatus, or to anexternal display device for output via a display of the external displaydevice.

As described above, an electronic apparatus according to an embodimentmay receive information associated with encoded image data and animproved filter set from an external server, thereby reducing time andresources consumed in the restoration of the image data. Therefore, ahigh compression rate of an image can be realized, and a high-definitionimage can be compressed and transmitted to image data of a smaller size.

FIGS. 15 and 16 are diagrams of an image decoding operation of anelectronic apparatus according to an embodiment.

FIG. 15 describes a configuration of an apparatus for realizing an AIdecoding operation. Operation 1501 of FIG. 15 may correspond tooperation 26 of FIG. 2, and operations 1503, 1504, 1505 and 1509 of FIG.15 may correspond to operation 28 of FIG. 12.

Referring to FIG. 15, the electronic apparatus may obtain compressed rawdata, an AI flag, and filter index information 1502 by decoding theencoded image using a standard decoder 1501. The electronic apparatusmay transmit the obtained raw data and information to an AI informationcontroller 1503, and determine whether AI encoding is performed, andwhether there is index information.

If the AI flag indicates that AI encoding is not performed (e.g., AIFlag==NULL), then the raw data may be transmitted to a display 1509 todisplay raw data that is sized N×M without performing an upscalingprocess.

If the AI flag indicates that AI encoding was performed (e.g., AIFlag==1), then the AI information controller 1503 may transmit raw data1510 that is sized N×M to an artificial intelligence (AI) upscalingmodel 1507.

If the index information indicates that AI encoding and the multi-AIfilter options are used (e.g., Index info!==NULL), then the AIinformation controller 1503 may transmit index information to an indexcontroller 1504. The index controller 1504 that receives the indexinformation may transmit a request 1511 to the memory 1505 to load aparameter of a filter matched index information to the AI upscalingmodel 1507. When the loading 1506 of the parameter matched with theindex information is completed, the AI upscaling model 1507 may obtainraw data having a size of 2N×2M 1508 by upscaling the transmitted rawdata that is sized N×M 1510 using the parameter matched with the loadedindex information.

If the index information indicates that AI encoding and the multi-AIfilter options are not used (e.g., Index info==NULL), then the AIupscaling model 1507 may obtain the raw data that is sized 2N×2M 1508 byupscaling the raw data having the size of N×M 1510 using a defaultupscaling parameter.

The electronic apparatus may transmit the obtained raw data that issized 2N×2M 1508 to the display 1509 to be displayed.

For ease of explanation, FIG. 15 illustrates that the standard decoder1501, the AI information controller 1503, the index controller 1504, andthe AI upscaling model 1507 are separate components, but in otherembodiments, the operation of each apparatus may be performed by one ormore of processors.

FIG. 16 describes an AI decoding operation in detail. Operation S1601 ofFIG. 16 may correspond to operation 26 of FIG. 2, and operations S1620to S1640 of FIG. 16 may correspond to operation 28 of FIG. 2.

Referring to FIG. 16, an electronic apparatus may receive a bit stream,a filter index included in an SEI header, and an AI flag 1601 from aserver 200. The electronic apparatus may obtain raw video data that issized N×M and SEI information 1602 by decoding the received bit streaminput into the standard decoder in operation S1610, the filter indexincluded in the SEI header, and the AI flag 1601.

The electronic apparatus may determine whether the AI flag stored in theSEI information indicates that AI encoding was performed (e.g., AIFlag==1) at operation S1620. If the electronic apparatus determines thatAI encoding was not performed at operation S1620 (e.g., S1620—N), thenthe electronic apparatus may display raw video data that is sized N×M atoperation S1650.

If the electronic apparatus determines that AI encoding was performed atoperation S1620 (e.g., S1620—Y), then the electronic apparatus maydetermine whether the multi-AI filter option was used (e.g., whetherfilter index!==NULL) at operation S1630. If the electronic apparatusdetermines that the multi-AI filter option is used at operation S1630(e.g., S1630—Y), then the electronic apparatus may select a filter setcorresponding to the filter index information. The electronic apparatusmay upscale raw video data that is sized N×M using the AI upscalingmodel obtained by applying the selected filter set at operation S1640.The electronic apparatus may display the upscaled video data of size2N×2M at operation S1650.

For ease of explanation, FIG. 16 illustrates that n filter sets of whichindices are 0, 1, 2, and 3 are pre-stored in an electronic apparatus,but the number of index information and filter sets is not limitedthereto.

If the electronic apparatus determines that the multi-AI filter optionis not used at operation S1630 (e.g., S1630—N), then the electronicapparatus may perform AI upscaling to which filter set 0 is applied atoperation S1660. The filter set 0 may be a default filter set. Theelectronic apparatus may display upscaled video data that is sized 2N×2Mat operation S1650.

As described above, an electronic apparatus according to an embodimentmay receive information associated with encoded image data and animproved filter set from an external server, thereby reducing time andresources consumed in the restoration of the image data. Therefore, ahigh compression rate of an image can be realized, and a high-definitionimage can be compressed to image data of a smaller size and transmittedin a streaming environment.

FIG. 17 is a diagram of an image upscaling operation of an electronicapparatus according to an embodiment. The electronic apparatus mayreceive input image data 1705 and filter index information 1701 from aserver.

The electronic apparatus may select 1703 a filter set matched withfilter index information 1701 among a plurality of filter sets stored ina memory 1702. The plurality of filter sets stored in the memory 1702may be a collection of filters trained using different training data.Each filter set may be a filter set applied to a CNN model. Each filterset may include a plurality of layers and a plurality of parametersapplied to a bias 1704. Each of the plurality of layers may include aplurality of filters.

The electronic apparatus may obtain an upscaling AI model by applyingeach parameter of the selected filter set. Referring to FIG. 17, anupscaling AI model including y convolution filters 1706 may be obtained,and the number of convolution filters may vary depending on the selectedfilter set. The electronic apparatus may obtain the restored outputimage 1707 by inputting the input image data 1705 into the obtained AIupscaling model. The restored output image 1707 may be obtained byupscaling the input image data 1705.

The reason for providing a plurality of filters sets are as follows.

First, a CNN model may contain the characteristic of a black-box. Due tothe characteristic of a black box, it may be difficult to identify theoperation of the CNN model in the apparatus during a training process.Therefore, a training data set might be needed to be input differentlyin order to obtain a filter set specialized or optimized for imagecomponents such as the image genre. The specialized filter set obtainedby the input data of a specific image component may have high loss andlow upscaling function on average as compared to a filter set trainedwith an entire data set, but in a specific image, an improved resultcould be derived.

Second, there is a limitation on deeply forming a filter layer of an AIupscaling model of a decoder portion due to the real time nature of thedecoder portion. The convolution calculation requires a large amount ofcomputing/hardware resources, and thus the CNN model may hinder the realtime performance. Accordingly, if applying various trained upscalingfilter sets to the encoder portion, the width of the layer may beincreased, and thus the upscaling function may be enhanced.

Last, the multi-filtering may provide an improved compression rate in aplurality of stored filter sets. By way of performing upscaling usingall of the plurality of filter sets without additional image analysisbased on the non-real time nature of image streaming encoding, animproved filter set may be selected to provide an improved result.

According to above-described various embodiments, by way of identifyingan improved upscaling filter set through a plurality of upscalingprocesses in advance in an encoding process by a server, a restorationprocess in an electronic apparatus can be simplified. Therefore, a highcompression rate may be provided in an image streaming environment, andthus a high definition image can be transmitted.

Meanwhile, the various embodiments described above can be implementedusing software, hardware, or a combination thereof. According to ahardware implementation, the embodiments described in this disclosuremay be implemented as application specific integrated circuits (ASICs),digital signal processors (DSPs), digital signal processing devices(DSPDs), programmable logic devices (PLDs), programmable gate arrays, aprocessor, a controller, a micro-controller, a microprocessor, and anelectrical unit for performing other functions. According to softwareimplementation, embodiments such as the procedures and functionsdescribed herein may be implemented in separate software modules. Eachof the software modules may perform one or more of the functions andoperations described herein.

Meanwhile, the methods according to various embodiments of thedisclosure described above may be stored in a non-transitory computerreadable medium. Such non-transitory computer readable media can be usedin various devices.

The non-transitory computer readable medium refers to a medium thatstores data semi-permanently rather than storing data for a very shorttime, such as a register, a cache, and a memory, and is readable by anapparatus. Specifically, the above-described various applications orprograms may be stored in a non-transitory computer readable medium suchas a compact disc (CD), a digital versatile disk (DVD), a hard disk, aBlu-ray disk, a universal serial bus (USB) memory stick, a memory card,and a read only memory (ROM), and may be provided.

According to an embodiment, the methods according to various embodimentsdisclosed herein may be provided in a computer program product. Acomputer program product may be traded between a seller and a purchaseras a commodity. A computer program product may be distributed in theform of a machine-readable storage medium (e.g., compact disc read onlymemory (CD-ROM)) or distributed online through an application store(e.g., PlayStore™). In the case of on-line distribution, at least aportion of the computer program product may be temporarily stored, ortemporarily created, on a storage medium such as a manufacturer'sserver, a server of an application store, or a memory of a relay server.

Although embodiments have been shown and described, it will beappreciated by those skilled in the art that changes may be made tothese embodiments without departing from the principles and spirit ofthe disclosure. Accordingly, the scope of the present disclosure is notconstrued as being limited to the described embodiments, but is definedby the appended claims as well as equivalents thereto.

What is claimed is:
 1. A method for controlling an electronic apparatus,the method comprising: receiving image data and information associatedwith a filter set that is applied to an artificial intelligence modelfor upscaling the image data from an external server; decoding the imagedata; upscaling the decoded image data using a first artificialintelligence model that is obtained based on the information associatedwith the filter set; and providing the upscaled image data for output.2. The method of claim 1, wherein the information associated with thefilter set includes index information of the filter set, and wherein theupscaling comprises: obtaining the first artificial intelligence modelto which one of a plurality of trained filter sets stored in theelectronic apparatus is applied based on the index information; andupscaling the decoded image data by inputting the decoded image datainto the obtained first artificial intelligence model.
 3. The method ofclaim 1, wherein the image data is obtained by encoding downscaled imagedata acquired by inputting original image data corresponding to theimage data into a second artificial intelligence model for downscalingoriginal image data.
 4. The method of claim 3, wherein a number offilters of the first artificial intelligence model is smaller than anumber of filters of the second artificial intelligence model.
 5. Themethod of claim 3, wherein the information associated with the filterset is information obtained by the external server, and identifies afilter set that minimizes a difference between the upscaled image dataacquired by the first artificial intelligence model and the originalimage data.
 6. The method of claim 1, wherein the first artificialintelligence model is a Convolutional Neural Network (CNN).
 7. Themethod of claim 1, wherein the providing comprises displaying theupscaled image data.
 8. A method for controlling a server, the methodcomprising: obtaining downscaled image data by inputting original imagedata into an artificial intelligence downscaling model for downscalingimage data; obtaining a plurality of upscaled image data by respectivelyinputting the downscaled image data into a plurality of artificialintelligence upscaling models to which respective filter sets, of aplurality of filter sets, trained for upscaling the downscaled imagedata are applied; encoding the downscaled image data by addinginformation associated with a filter set of an artificial intelligenceupscaling model that outputs upscaled image data having a minimumdifference from the original image data among the plurality of upscaledimage data; and transmitting the encoded image data to an externalelectronic apparatus.
 9. The method of claim 8, further comprising:training parameters of the plurality of filter sets to reduce adifference between the plurality of upscaled image data and the originalimage data.
 10. The method of claim 8, wherein a number of filters ofthe artificial intelligence upscaling model is smaller than a number offilters of the artificial intelligence downscaling model.
 11. Anelectronic apparatus comprising: a communication interface comprisingcommunication circuitry; and a processor that is configured to: receiveimage data and information associated with a filter set applied to anartificial intelligence model for upscaling the image data from anexternal server via the communication interface; decode the receivedimage data; upscale the decoded image data using a first artificialintelligence model that is obtained based on the information associatedwith the filter set; and provide the upscaled image data for output. 12.The electronic apparatus of claim 11, further comprising: a memory,wherein the information associated with the filter set includes indexinformation of the filter set, and wherein the processor is furtherconfigured to: obtain the first artificial intelligence model in whichone of a plurality of trained filter sets stored in the memory isapplied based on the index information; and upscale the decoded imagedata by inputting the decoded image data into the obtained firstartificial intelligence model.
 13. The electronic apparatus of claim 11,wherein the image data is obtained by encoding downscaled image dataacquired by inputting original image data corresponding to the imagedata into a second artificial intelligence model for downscalingoriginal image data.
 14. The electronic apparatus of claim 13, wherein anumber of filters of the first artificial intelligence model is smallerthan a number of filters of the second artificial intelligence model.15. The electronic apparatus of claim 11, wherein the informationassociated with the filter set is information obtained by the externalserver to reduce a difference between the upscaled image data obtainedby the first artificial intelligence model and the original image data.16. The electronic apparatus of claim 11, wherein the first artificialintelligence model is a Convolutional Neural Network (CNN).
 17. Theelectronic apparatus of claim 11, further comprising: a display, whereinthe processor is configured to provide the upscaled image data foroutput by controlling the display to display the upscaled image data.